import request from "@/utils/request";
import { AxiosPromise } from "axios";
import {
  ModelList,
  ModelAdd,
  ModelOption,
  ModelStatus,
  ModelResult,
  ModelResultOptions,
} from "./types";

// 小程序管理 - 查询列表
export function getAppsList(data: ModelList): AxiosPromise<ModelResult> {
  return request({
    url: "/api/operation/Apps/search",
    method: "post",
    data,
  });
}

// 小程序管理 - 新增微信小程序
export function addWxApp(data: ModelAdd): AxiosPromise<Record<string, any>> {
  return request({
    url: `/api/operation/Apps/wx`,
    method: "post",
    data,
  });
}

// 小程序管理 - 修改微信小程序
export function updateWxApp(data: ModelAdd): AxiosPromise<Record<string, any>> {
  return request({
    url: `/api/operation/Apps/wx/${data?.id}`,
    method: "put",
    data,
  });
}

// 小程序管理 - 新增抖音小程序
export function addDyApp(data: ModelAdd): AxiosPromise<Record<string, any>> {
  return request({
    url: `/api/operation/Apps/dy`,
    method: "post",
    data,
  });
}

// 小程序管理 - 修改抖音小程序
export function updateDyApp(data: ModelAdd): AxiosPromise<Record<string, any>> {
  return request({
    url: `/api/operation/Apps/dy/${data?.id}`,
    method: "put",
    data,
  });
}

// 小程序管理 - 获取小程序下拉选项
export function getAppOptions(
  data: ModelOption
): AxiosPromise<ModelResultOptions> {
  return request({
    url: `/api/operation/Apps/options`,
    method: "get",
    params: data,
  });
}

// 小程序管理 - 更新小程序状态
export function updateAppStatus(
  data: ModelStatus
): AxiosPromise<Record<string, any>> {
  return request({
    url: `/api/operation/Apps/status`,
    method: "patch",
    params: data,
  });
}

// 小程序管理 - 获取小程序详情
export function getAppDetail(data: number): AxiosPromise<Record<string, any>> {
  return request({
    url: `/api/operation/Apps/${data}`,
    method: "get",
  });
}
